#ifndef __USER_MGR_IMPL_H__   
#define __USER_MGR_IMPL_H__

#include <interface/global_data/user_mgr.h>
#include <sys/sys_singleton.h>
#include <sys/sys_asy.h>
#include <vector>

namespace aot{ namespace glb{

class user_mgr_impl :public iuser_mgr	
{
public:
    user_mgr_impl(void);
    virtual ~user_mgr_impl();
    virtual void destroy(){};
public:
	virtual void lock(){ this->lock_.acquire();}
	virtual void unlock(){ this->lock_.release();}
    virtual bool save_to_db();
    virtual bool load_from_db();
private:
    xy::thread_mutex	lock_;
    typedef xy::auto_lock<xy::thread_mutex>	auto_lock_type;
};

}} /* end namespace aot/glb*/

#endif // __USER_MGR_IMPL_H__